<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>react组件</title>
  </head>
  <body>
    <div id="root"></div>
  </body>

  <script src="./react.development.js"></script>
  <script src="./react-dom.development.js"></script>
  <script src="./babel.min.js"></script>

  <script type="text/babel">
    // 1、原始jsx表达式（没有复用性）
    // let div = <div>普通视图</div>

    // 2、类组件(传统项目、遗留项目、16.x/17.x项目 主流)
    // - 类名称首字母必须大写
    // - 必须继承自React.Component
    // - 内部必须包含render()渲染函数，函数内必须返回jsx视图结构
    // class Home extends React.Component {
    //   render() {
    //     return (
    //       <div>
    //         <h2>首页页面组件</h2>
    //       </div>
    //     )
    //   }
    // }

    // 3、函数式组件(18.x、新项目中 首选推荐)
    // - 函数名称首字母必须大写
    // - 函数必须返回jsx视图结构
    function Home() {
      return (
        <div>
          <h3>首页页面-函数式组件</h3>
        </div>
      )
    }

    let div = (
      <div>
        <Home></Home>
      </div>
    )

    // 渲染到页面中
    ReactDOM.render(div, document.getElementById('root'))
  </script>
</html>
